home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 7: Sunsite / Linux Cubed Series 7 - Sunsite Vol 1.iso / system / admin / makedev-.5 / makedev- / makedev-1.5 / devinfo < prev    next >
Text File  |  1995-06-04  |  13KB  |  470 lines

  1. /*
  2.  * DEVINFO: device information for MAKEDEV
  3.  *
  4.  * MANY THANKS to those who have sent in corrections - I don't have most
  5.  * of the hardware listed in here, so it won't get fixed if nobody tells me.
  6.  * Mail to: David A. Holland <dholland@husc.harvard.edu>
  7.  *
  8.  * Version 1.4: 21-Feb-95  Corrected proc entry for ibcs2.
  9.  *              27-Feb-95  Make 12 VCs by default.
  10.  *              25-Mar-95  Correct the "1994" dates in the version history.
  11.  *                         Added batches "serial-all" and "vts-all".
  12.  *                         Also, "cyclades" only makes 8 now; use 
  13.  *                         "cyclades-all" to get all 32 entries.
  14.  *                         Added QIC tape entries for default capacity setting.
  15.  *              20-Apr-95  Corrected the minor numbers for cyclades2.
  16.  *        3-Jun-95   Corrected group name for scsi cds
  17.  *                         Added "pty" batch to make all ptys
  18.  *                         Removed old entries with hd[a-d] and hda1[a-d]
  19.  *                         Added "hd2", an alias for "hd1", and "hd-all", to 
  20.  *                         be consistent with the cyclades and vts usage.
  21.  *                         Added "ide0" and "ide1" entries for shell MAKEDEV
  22.  *                         compatibility. 
  23.  *                         Retrieve /proc/devices entries ide0 and ide1 for
  24.  *                         hd and h1 groups.
  25.  *                         Make vcs and vcsa devices along with tty0-63.
  26.  *                         Made the "make 12 VCs by default" above work right.
  27.  *                         Added new names for busmice.
  28.  *                         Added lots more floppy modes and fd[4-7].
  29.  *                         Commented out idecd as it's rather obsolete.
  30.  *                         Added md[0-3].
  31.  *
  32.  * Version 1.3: 14-Feb-95  Corrections from perusing the 1.1.91 source tree.
  33.  *                           hd1[a-b] becomes hd[c-d]; see comments below.
  34.  *                           Corrected idecd entry. 
  35.  *                           Added entry for Aztech cdrom.
  36.  *                           Corrected sbpcd entries. 
  37.  *                           Invented new [and better] names for the 
  38.  *                           QIC tape entries.
  39.  *                           There appear to be up to 32 cyclades devices 
  40.  *                           supported in 1.1.91.
  41.  *
  42.  * Version 1.2: 14-Feb-95  Revisions snarfed from shell MAKEDEV 2.1.
  43.  *                           Added cyclades, idecd, apm, dcf.
  44.  *                           Added /proc entry for joysticks.
  45.  *                           Scanner becomes logiscan/m105scan/ac4096.
  46.  *                           Some new audio devices.
  47.  *                           More high-number floppy entries.
  48.  *                           Scsi tapes+cds now go 0-7.
  49.  *                           Removed default major numbers for 
  50.  *                             cdu31a, pcaudio, ibcs2.
  51.  *                         Corrected a comment erroneously indicating 
  52.  *                         fd4 was possible.
  53.  *
  54.  * Version 1.1: 13-Feb-95  Corrected scsi tapes (which were totally wrong)
  55.  * Version 1.0: 11-Dec-94  Initial version
  56.  */
  57.  
  58. /* ignore when /proc/devices mentions these: */
  59. /* (this is how it was before; couldn't we use mem? */
  60. ignore { mem, tty, pcmcia }
  61.  
  62. /* make a batch called generic, standard set of stuff */
  63. batch generic {
  64.       std, fd0, fd1, hda, hdb, xda, xdb, sda, sdb,
  65.       ptyp, ptyq, ptyr, ptys, consoles, vts, serial,
  66.       busmice, printers, fd
  67. }
  68.  
  69. // The "std" group - basic devices */
  70. char (std, 1) {
  71.     mem (kmem): 1
  72.     kmem (kmem): 2
  73.     null (public) : 3
  74.     port (kmem) : 4
  75.            zero (public) : 5
  76.     core -> "/proc/kcore"
  77.     full (public) : 7
  78. }
  79. block (std, 1) {
  80.     ram (disk) : 1
  81. }
  82. char (std, 5) {
  83.     tty (public) : 0
  84. }
  85.  
  86. // We now also make the vcs devices (virtual console screens)
  87. // along with the vts (virtual console ttys)
  88.  
  89. /* the "consoles" group - system console */
  90. char (consoles,4) {
  91.     console (cons) : 0       # /dev/console
  92.     tty0 (cons) : 0          # tty0 == console
  93. }
  94. char (consoles=vcs) {
  95.     vcs0 (vcs) : 0
  96.     vcsa (vcs) : 128
  97. }
  98.  
  99. /* VTs tty1-tty63 (tty0 is special) */
  100. /* group "vts" is tty1-8; "vts2" is the rest; "vts-all" is all */
  101.  
  102. char (vts, 4) tty[1-12] (tty) : 1
  103. char (vts=vcs) {
  104.     vcs[1-12] (vcs) : 1
  105.     vcsa[1-12] (vcs) : 128 + 1
  106. }
  107.  
  108. char (vts2, 4) tty [13-63] (tty) : 13
  109. char (vts2=vcs) { 
  110.     vcs[13-63] (vcs) : 13
  111.     vcsa[13-63] (vcs) : 128 + 13
  112. }
  113.  
  114. batch vts-all { vts, vts2 }
  115.  
  116. // for shell MAKEDEV compatibility (approximately)
  117. batch console { vts, consoles }
  118.  
  119. /* serial ports, ttyS0-ttyS63 and cua0-cua63 */
  120. /* group "serial" is just ttyS0-3 and cua0-3; "serial2" is the rest */
  121. // serial-all builds all serial devices
  122. char (serial, 4) ttyS[0-3]  (tty)     : 64
  123. char (serial2,4) ttyS[4-63] (tty)     : 64+4
  124. char (serial, 5) cua[0-3]   (dialout) : 64
  125. char (serial2,5) cua[4-63]  (dialout) : 64 + 4
  126. batch serial-all { serial, serial2 }
  127.  
  128. /* ptys: pty[pqrs][0-9a-f] and tty[pqrs][0-9][a-f] */
  129. /* grouped as ptyp, ptyq, ptyr, and ptys */
  130. char (ptyp, 4) {
  131.         ptyp[0x0-f] (pty) : 128+0*16
  132.         ttyp[0x0-f] (tty) : 192+0*16
  133. }
  134. char (ptyq, 4) {
  135.         ptyq[0x0-f] (pty) : 128+1*16
  136.         ttyq[0x0-f] (tty) : 192+1*16
  137. }
  138. char (ptyr, 4) {
  139.         ptyr[0x0-f] (pty) : 128+2*16
  140.         ttyr[0x0-f] (tty) : 192+2*16
  141. }
  142. char (ptys, 4) {
  143.         ptys[0x0-f] (pty) : 128+3*16
  144.         ttys[0x0-f] (tty) : 192+3*16
  145. }
  146. batch pty { ptyp ptyq ptyr ptys }
  147.  
  148. /* cyclades serial multiplexer */
  149. // cyclades just the first board's worth of devices.
  150. // cyclades-all builds them all.
  151. char (cyclades=ttyC, 19) {
  152.     ttyC[0-7] (tty) : 32
  153. }
  154. char (cyclades=cub, 20) {
  155.     cub[0-7] (dialout) : 32
  156. }
  157. char (cyclades2=ttyC, 19) {
  158.     ttyC[8-31] (tty) : 32+8
  159. }
  160. char (cyclades2=cub, 20) {
  161.     cub[8-31] (dialout) : 32+8
  162. }
  163. batch cyclades-all { cyclades, cyclades2 }
  164.  
  165. /* parallel ports par0-3 and printers lp0-3 (which are merely aliases) */
  166. /* group is "printers" */
  167. char (printers=lp, 6) {
  168.     par[0-3] (printer) : 0
  169.     lp[0-3] (printer) : 0
  170. }
  171.  
  172. /* busmice: logibm, psaux, inportbm, atibm */
  173. /* these have apparently been renamed - we'll create both names for now */
  174. char (busmice=mouse, 10) {
  175.     logibm    (mouse) : 0
  176.     logimouse (mouse) : 0
  177.     psaux     (mouse) : 1
  178.     psmouse   (mouse) : 1
  179.     inportbm  (mouse) : 2
  180.     msmouse   (mouse) : 2
  181.     atibm     (mouse) : 3
  182.     atimouse  (mouse) : 3
  183.     # sejin   (mouse) : 4
  184.     jmouse    (mouse) : 4
  185. }
  186.  
  187. /* joysticks: js0, js1; group "js" */
  188. char (js=Joystick) js[0-1] (mouse) : 0
  189.  
  190. /* floppies: fd0-3, and 4-7, with lots of modes */
  191. /* there really ought to be a cleaner way of doing this...*/
  192. block (floppies=fd, 2) {
  193.     fd[0-3]       (floppy) : 0
  194.     fd[0-3]d360   (floppy) : 4
  195.     fd[0-3]h1200  (floppy) : 8
  196.     fd[0-3]D360   (floppy) : 12
  197.     fd[0-3]H360   (floppy) : 12
  198.     fd[0-3]D720   (floppy) : 16
  199.     fd[0-3]H720   (floppy) : 16
  200.     fd[0-3]h360   (floppy) : 20
  201.     fd[0-3]h720   (floppy) : 24
  202.     fd[0-3]H1440  (floppy) : 28
  203.     fd[0-3]H2880  (floppy) : 32
  204.     fd[0-3]CompaQ (floppy) : 36
  205.     fd[0-3]h1440  (floppy) : 40
  206.     fd[0-3]H1680  (floppy) : 44
  207.     fd[0-3]h410   (floppy) : 48
  208.     fd[0-3]H820   (floppy) : 52
  209.     fd[0-3]H1476  (floppy) : 56
  210.     fd[0-3]H1722  (floppy) : 60
  211.     fd[0-3]h420   (floppy) : 64
  212.     fd[0-3]h830   (floppy) : 68
  213.     fd[0-3]h1494  (floppy) : 72
  214.     fd[0-3]h1743  (floppy) : 76
  215.     fd[0-3]h880   (floppy) : 80
  216.     fd[0-3]D1040  (floppy) : 84
  217.     fd[0-3]D1120  (floppy) : 88
  218.     fd[0-3]h1600  (floppy) : 92
  219.     fd[0-3]H1760  (floppy) : 96
  220.     fd[0-3]H1920  (floppy) : 100
  221.     fd[0-3]E3200  (floppy) : 104
  222.     fd[0-3]E3520  (floppy) : 108
  223.     fd[0-3]E3840  (floppy) : 112
  224.     fd[0-3]H1840  (floppy) : 116
  225.     fd[0-3]D800   (floppy) : 120
  226.     fd[0-3]H1600  (floppy) : 124
  227. // sigh...
  228.     fd[4-7]       (floppy) : 128 + 0
  229.     fd[4-7]d360   (floppy) : 128 + 4
  230.     fd[4-7]h1200  (floppy) : 128 + 8
  231.     fd[4-7]D360   (floppy) : 128 + 12
  232.     fd[4-7]H360   (floppy) : 128 + 12
  233.     fd[4-7]D720   (floppy) : 128 + 16
  234.     fd[4-7]H720   (floppy) : 128 + 16
  235.     fd[4-7]h360   (floppy) : 128 + 20
  236.     fd[4-7]h720   (floppy) : 128 + 24
  237.     fd[4-7]H1440  (floppy) : 128 + 28
  238.     fd[4-7]H2880  (floppy) : 128 + 32
  239.     fd[4-7]CompaQ (floppy) : 128 + 36
  240.     fd[4-7]h1440  (floppy) : 128 + 40
  241.     fd[4-7]H1680  (floppy) : 128 + 44
  242.     fd[4-7]h410   (floppy) : 128 + 48
  243.     fd[4-7]H820   (floppy) : 128 + 52
  244.     fd[4-7]H1476  (floppy) : 128 + 56
  245.     fd[4-7]H1722  (floppy) : 128 + 60
  246.     fd[4-7]h420   (floppy) : 128 + 64
  247.     fd[4-7]h830   (floppy) : 128 + 68
  248.     fd[4-7]h1494  (floppy) : 128 + 72
  249.     fd[4-7]h1743  (floppy) : 128 + 76
  250.     fd[4-7]h880   (floppy) : 128 + 80
  251.     fd[4-7]D1040  (floppy) : 128 + 84
  252.     fd[4-7]D1120  (floppy) : 128 + 88
  253.     fd[4-7]h1600  (floppy) : 128 + 92
  254.     fd[4-7]H1760  (floppy) : 128 + 96
  255.     fd[4-7]H1920  (floppy) : 128 + 100
  256.     fd[4-7]E3200  (floppy) : 128 + 104
  257.     fd[4-7]E3520  (floppy) : 128 + 108
  258.     fd[4-7]E3840  (floppy) : 128 + 112
  259.     fd[4-7]H1840  (floppy) : 128 + 116
  260.     fd[4-7]D800   (floppy) : 128 + 120
  261.     fd[4-7]H1600  (floppy) : 128 + 124
  262. }
  263.  
  264. // Newer kernels stick 'ide0' in /proc/devices instead of 'hd'. 
  265. // We really ought to look in /proc/devices for 'hd' as well as 'ide0'.
  266. // However, 'hd' has always, to my knowledge, been 3. So we shall punt,
  267. // instead of adding code to permit searching for multiple names.
  268.  
  269. /* AT hard disks hda-b (partitions 1-8 and main) */
  270. block(hd=ide0,3) hd[a-b] 8/64
  271. /* and 2nd controller */
  272. block(hd1=ide1,22) hd[c-d] 8/64
  273.  
  274. // Ordinarily, the use of the syntax above would automatically create
  275. // this batch. Because of the way it's done (this is a bug, and hopefully
  276. // will be fixed in a future release) the batch for the hd1 devices is
  277. // also created as "hd". This cannot be accessed, but does no harm as
  278. // long as the order of the above two declarations isn't reversed. sigh.
  279. // Anyway, this line works around the problem.
  280. batch hd1 { hdc hdd }
  281.  
  282. // For consistency with the other setups above (cyclades, vts, etc.)
  283. batch hd2 { hd1 }
  284. batch hd-all { hd hd1 }
  285.  
  286. // For compatibility with the shell MAKEDEV
  287. batch ide0 { hda hdb }
  288. batch ide1 { hdc hdd }
  289.  
  290. /* XT hard drives */
  291. block(xd=xd,13) xd[a-d] 8/64
  292.  
  293. /* scsi hard disks sda-sdh */
  294. block(sd=sd,8) sd[a-h] 8/16
  295.  
  296. /* loopback disk devices; group "loop" */
  297. block(loop=loop) loop[0-7] (disk) : 0
  298.  
  299. /* disk striping (?) */
  300. block(md=md) md[0-3] (disk) : 0
  301.  
  302. /* scsi tapes st0-7 */
  303. char(st=st, 9) {
  304.     st[0-7] (tape) : 0
  305.     nst[0-7] (tape) : 128
  306. }
  307.  
  308. /* qic tapes - group "qic" */
  309. // The following is what came with the shell MAKEDEV.
  310. //char (qic=tpqic02, 12) {
  311. //    rmt8       (tape) : 6
  312. //    rmt16      (tape) : 8
  313. //    tape-d     (tape) : 136
  314. //    tape-reset (tape) : 255
  315. //}
  316. // This, on the other hand, appears to be more correct.
  317.  
  318. /*
  319.  *  By the authority vested in me as the maintainer of this file, 
  320.  *  I have made up the device names. The "n" versions don't rewind,
  321.  *  as with other tape devices. The number specifies the model/capacity.
  322.  *  There's not really room left for unit numbers, but I suppose there
  323.  *  probably aren't many people with multiple QIC drives either...
  324.  */
  325. char (qic=tpqic02, 12) {
  326.     nqt    (tape) : 0
  327.     qt    (tape) : 1
  328.     nqt11    (tape) : 2
  329.     qt11    (tape) : 3
  330.     nqt24    (tape) : 4
  331.     qt24    (tape) : 5
  332.     nqt120    (tape) : 6
  333.     qt120    (tape) : 7
  334.     nqt150    (tape) : 8
  335.     qt150    (tape) : 9
  336.     qt-reset (tape) : 255
  337. }
  338.  
  339. /* ftapes - group ftape */
  340. char (ftape=mt, 27) {
  341.     rft[0-3]  (tape) : 0
  342.     nrft[0-3] (tape) : 4
  343.     ftape -> rft0
  344.     nftape -> nrft0
  345. }
  346.  
  347. /* scsi cd */
  348. block(scd=sr, 11) scd[0-7] (cdrom) : 0
  349. /* this is for compatibility with older MAKEDEVs */
  350. batch sr { scd }
  351.  
  352. /* sony cd */
  353. block(sonycd=cdu31a) sonycd (cdrom) : 0
  354.  
  355. /* mitsumi cd */
  356. block(mcd=mcd, 23) mcd (cdrom) : 0
  357.  
  358. /* Sony cdu535 */
  359. block(cdu535="cdu-535", 24) cdu535 (cdrom) : 0
  360.  
  361. /* LMS/Philips CD player (needs new major number) */
  362. block(lmscd, 24) lmscd (cdrom) : 0
  363.  
  364. /* Aztech CDROM */
  365. block(aztcd, 29) aztcd0 (cdrom) : 0
  366.  
  367. /* soundblaster CD, 1st controller */
  368. block(sbpcd=sbpcd, 25) {
  369.     sbpcd      (cdrom) : 0
  370.     sbpcd[0-3] (cdrom) : 0
  371. }
  372. /* 2nd, 3rd, 4th */
  373. block(sbpcd=sbpcd2, 26) sbpcd[4-7] (cdrom) : 0
  374. block(sbpcd=sbpcd3, 27) sbpcd[8-11] (cdrom) : 0
  375. block(sbpcd=sbpcd4, 28) sbpcd[12-15] (cdrom) : 0
  376.  
  377. /* ide cd */
  378. // OBSOLETE
  379. //block (idecd=idecd) {
  380. //    idecd    (cdrom) : 0
  381. //}
  382.  
  383. /* Logitech scanner */
  384. char (logiscan=logiscan) {
  385.     logiscan (scanner) : 0
  386. }
  387.  
  388. char (m105scan=m105) {
  389.     m105scan (scanner) : 0
  390. }
  391.  
  392. char (ac4096=ac4096) {
  393.     ac4096 (scanner) : 0
  394. }
  395.  
  396. // this is apparently obsolete?
  397. //char (scan=Scanner) {
  398. //    scan  (scanner) : 0
  399. //    scand (scanner) : 1
  400. //}
  401.  
  402. /* audio */
  403. char (audio=sound, 14) {
  404.     mixer      (audio) : 0
  405.     sequencer (audio) : 1
  406.     midi00      (audio) : 2
  407.     midi -> midi00
  408.     dsp      (audio) : 3
  409.     audio      (audio) : 4
  410.     sndstat      (audio) : 6
  411. #    sequencer2(audio) : 8
  412.     mixer1      (audio) : 16
  413. #    patmgr0   (audio) : 17
  414.     midi01      (audio) : 18
  415.     dsp1      (audio) : 19
  416.     audio1      (audio) : 20
  417. #    patmgr1      (audio) : 33
  418.     midi02      (audio) : 34
  419.     midi03      (audio) : 50
  420. }
  421.  
  422. /* pcaudio */
  423. char (pcaudio=pcsp) {
  424.     pcmixer (audio) : 0
  425.     pcsp    (audio) : 3
  426.     pcaudio (audio) : 4
  427. }
  428.  
  429. /* sg: generic scsi devices */
  430. char (sg=sg, 21) {
  431.     sga (scsi) : 0
  432.     sgb (scsi) : 1
  433.     sgc (scsi) : 2
  434.     sgd (scsi) : 3
  435.     sge (scsi) : 4
  436.     sgf (scsi) : 5
  437.     sgg (scsi) : 6
  438.     sgh (scsi) : 7
  439. }
  440.  
  441. /* fd: file descriptors */
  442. char (fd, 0) {  // the 0 is not used - there are only links in here!
  443.     fd     -> "/proc/self/fd"
  444.     stdin  -> "fd/0"
  445.     stdout -> "fd/1"
  446.     stderr -> "fd/2"
  447. }
  448.  
  449. /* ibcs2: coff emulation stuff */
  450. char (ibcs2=socksys, 30) {
  451.     socksys (ibcs2) : 0
  452.     spx     (ibcs2) : 2
  453.     nfsd -> socksys
  454.     XOR -> null
  455. }
  456.  
  457. char (apm=apm_bios) {
  458.     apm (system) : 0
  459. }
  460.  
  461. char (dcf=dcf) {
  462.     dcf (system) : 0
  463. }
  464.  
  465. /* demo device for module stuff */
  466. char (hw=hw) {
  467.     helloworld (public) : 0
  468. }
  469.  
  470.